package com.tous.blogger;

import java.util.Arrays;

import com.google.api.services.blogger.Blogger;
import com.google.api.services.blogger.Blogger.Posts.Get;
import com.google.api.services.blogger.BloggerScopes;

public class PostBlog {

	public static void main(String[] args) {
		// The BlogId for the http://buzz.blogger.com/ blog.
		String BUZZ_BLOG_ID = "8832315381594384217";

		// The PostId for a buzz post with comments.
		String BUZZ_POST_ID = "5310628572012276714";

		// Configure the Java API Client for Installed Native App
		HttpTransport HTTP_TRANSPORT = new NetHttpTransport();
		JsonFactory JSON_FACTORY = new JacksonFactory();

		// Configure the Installed App OAuth2 flow.
		Credential credential = OAuth2Native.authorize(HTTP_TRANSPORT,
				JSON_FACTORY, new LocalServerReceiver(),
				Arrays.asList(BloggerScopes.BLOGGER));

		// Construct the Blogger API access facade object.
		Blogger blogger = Blogger.builder(HTTP_TRANSPORT, JSON_FACTORY)
				.setApplicationName("Blogger-PostsGet-Snippet/1.0")
				.setHttpRequestInitializer(credential).build();

		// The request action.
		Get postsGetAction = blogger.posts().get(BUZZ_BLOG_ID, BUZZ_POST_ID);

		// Restrict the result content to just the data we need.
		postsGetAction
				.setFields("author/displayName,content,published,title,url");

		// This step sends the request to the server.
		Post post = postsGetAction.execute();

		// Now we can navigate the response.
		System.out.println("Title: " + post.getTitle());
		System.out.println("Author: " + post.getAuthor().getDisplayName());
		System.out.println("Published: " + post.getPublished());
		System.out.println("URL: " + post.getUrl());
		System.out.println("Content: " + post.getContent());
	}

}
